package com.sd365.permission.centre.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sd365.common.core.common.pojo.dto.TenantBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import net.bytebuddy.asm.Advice;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @version 1.0
 * @ClassName: RoleDTO
 * @Description: 前端与后端之间Role的数据传输对象
 * @Author: Hejiale
 * @Date: 2023-06-13 14:15
 **/
@ApiModel(value = "Role在前后端的传输对象")
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
public class RoleDTO extends TenantBaseDTO {

    /**
     * 角色到的分配的资源列表
     */
    private List<ResourceDTO> resourceDTOS = new ArrayList<>();

    /**
     * 角色名称
     */
    @ApiModelProperty(value = "name角色名称")
    @NotNull(message = "角色名称不能为空")
    private String name;

    /**
     * 角色码，唯一
     */
    @ApiModelProperty(value="code角色代码")
    @NotNull(message = "角色工号不能为空")
    private String code;

    /**
     * 备注信息
     */
    @ApiModelProperty(value = "remark备注信息")
    private String remark;

//    /**
//     * 机构
//     */
//    private OrganizationDTO organizationDTO = new OrganizationDTO();
//    /**
//     *  公司
//     */
//    private CompanyDTO companyDTO = new CompanyDTO();
//
//    /**
//     * 租户
//     */
//    private  TenantDTO tenantDTO = new TenantDTO();

//    /**
//     * 创建时间
//     */
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date createdTime;
//
//    /**
//     * 更新时间
//     */
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date updatedTime;
}